Linux原生日志系统Rsylog的简单使用 您所在的位置:网站首页 centos syslog搭建日志服务器 Linux原生日志系统Rsylog的简单使用

Linux原生日志系统Rsylog的简单使用

2023-04-18 05:56| 来源: 网络整理| 查看: 265

概述

Rsyslog 是一个 syslogd 的多线程增强版,依然基于Syslog协议(linux6之前默认使用syslog程序,centos6用rsyslog所取代)完成系统日志的处理转发,官方形容它是一个极速(如火箭般快速)的日志处理系统。它提供高性能、极好的安全功能和模块化设计。虽然它基于常规的 syslogd,但 rsyslog 已经演变成了一个强大的工具,可用于:

接收来自各种来源的输入 转换过滤格式化输出 将结果输出到不同的目的地,集成日志分析平台

Rsyslog支持 MySQL、PostgreSQL、故障转移日志目标、ElasticSearch、syslog/tcp 传输、细粒度输出格式控制、高精度时间戳、排队操作以及过滤任何消息部分的能力。它定位于企业级但也考虑了中小系统的需求。RSYSLOG 每秒可以向本地目的地(rsyslogd)传送超过一百万条消息。对远程目的地或需更精细的消息处理时,性能通常也被认为是“惊人的”。官方文档

rsyslog在centos7中现在已经是取代了之前默认使用的syslog程序。所以是不用安装下载的,如果没有可以是要弄yum进行安装。我们可以通过以下命令来查看它的运行状态

service rsyslog status 复制代码

image.png 可以看见系统是默认安装好的,并且是处于运行状态的。

配置文件

rsyslog的默认配置文件位置是/etc/rsyslog.conf。我们首先查看一下配置文件通过vim /etc/rsyslog.conf命令。

image.png 可以看到这里有一句

# Include all config files in /etc/rsyslog.d/ $IncludeConfig /etc/rsyslog.d/*.conf 复制代码

包含所有配置文件在/etc/rsyslog.d/*.conf目录下,这种方式和Nginx的配置方式一样。我们可以不修改这个主配置文件,而是在这个目录下编写相对应的配置文件。

image.png 这个目录下也已经有了一个配置文件listen.conf里面也写好了一句配置$SystemLogSocketName /run/systemd/journal/syslog

接着我们在仔细看下面的配置信息RULES部分

image.png

#### RULES #### # Log all kernel messages to the console. # Logging much else clutters up the screen. #kern.* /dev/console # Log anything (except mail) of level info or higher. # Don't log private authentication messages! *.info;mail.none;authpriv.none;cron.none /var/log/messages # The authpriv file has restricted access. authpriv.* /var/log/secure # Log all the mail messages in one place. mail.* -/var/log/maillog # Log cron stuff cron.* /var/log/cron # Everybody gets emergency messages *.emerg :omusrmsg:* # Save news errors of level crit and higher in a special file. uucp,news.crit /var/log/spooler # Save boot messages also to boot.log local7.* /var/log/boot.log 复制代码

这里我理解的就它的路由规则(优先级),*代表任意,只要符合规则,那么日志信息就会存储到后面对应的日志文件中。

logger命令

前面简单的介绍一下rsylog日志系统和相关配置信息。那么我们怎么样能像这个系统发送日志信息呢?这里就要使用到我们的logger命令了。logger是Linux和Unix操作系统中使用的命令行工具,用于将日志添加到本地/var/log/syslog文件或远程Syslog服务器。 记录器提供了用于添加日志的不同选项,例如设置优先级,指定远程系统或显式定义Syslog端口。

默认情况下,大多数Linux发行版中都安装了logger命令。 因此,无需显式安装它。 我们可以使用-h选项打印帮助和用法信息,如下所示。 logger命令中最常用的选项将在列表中列出一些说明。 image.png

logger命令具有简单的语法,其中首先提供选项,然后提供我们要发送Syslog的日志或消息。

logger OPTIONS LOG_INFO 复制代码

image.png 可以看到我们成功发送了一条日志,并且保存在了/var/log/messages中

后面我们将会讲一个简单案例来实战一下~



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有